package com.loong.android.http.response;

import com.lzy.okgo.model.Response;

import java.io.File;

/**
 * file请求的响应类(用于文件下载)
 */
public class FileResponse {
    private final Response<File> response;

    public FileResponse(Response<File> response) {
        this.response = response;
    }

    public FileResponse(okhttp3.Response response) {
        this.response = new Response<>();
        this.response.setRawResponse(response);
    }

    public Response<File> getResponse() {
        return response;
    }

    /**
     * 取请求响应中的body内容
     */
    public File body() {
        return response.body();
    }

    /**
     * 取请求响应中的message内容
     */
    public String message() {
        return response.message();
    }

    /**
     * 取请求响应中的结果码
     */
    public int code() {
        return response.code();
    }

    /**
     * 是否来自缓存
     */
    public boolean isFromCache() {
        return response.isFromCache();
    }

    /**
     * 是否请求成功
     */
    public boolean isSuccessful() {
        return response.isSuccessful();
    }

    /**
     * 设置请求响应的body内容
     * @param file body内容
     */
    public FileResponse setBody(File file) {
        response.setBody(file);
        return this;
    }

    /**
     * 设置为来自缓存
     * @param enable 是否启用
     */
    public FileResponse setFromCache(boolean enable) {
        response.setFromCache(enable);
        return this;
    }
}
